A user visiting webpages in the internet usually uses a browser on his computer. When he visits a webpage the browser retrieves files from a webserver and renders the webpage on the users screen. For the party providing the webpage it is usually of interest which pages the user visited and how long the webpage was open in the user's browser. The duration of the page impression is important information because it will tell the webpage provider how the user used the webpage (optionally along with further information also gathered). Thus the duration of the page impression is especially important in web analytics applications.
Subsequently the visit of a single user to a single webpage will be called a “page impression”. The information which webpages the user visited can easily be extracted from logs on the webserver that keep track of who retrieved which files from the server. The duration of the page impression cannot be determined this way because the browser will usually no longer retrieve any files from the webserver after the webpage has been fully loaded.
Systems and methods for visually displaying clickthrough, impression pertaining to webpages are disclosed in U.S. 2005/0166138 A1.
There are different ways to determine the duration of the page impression:                1) The webserver logs may contain information that helps to identify the user (ie to distinguish him from other users). By checking when this unique user opens the next webpage it is possible to determine when the previous page impression ended. This approach has severe limitations though as it would not get a duration value (a) when the user just closed the browser or the webpage or (b) the user went to another webpage that is retrieved from a different webserver. This approach would return a wrong duration if (c) the user went to another webpage but kept the original webpage opened.        2) It is possible to execute a script on the user's browser that sends data to the webserver in certain time intervals (this approach is commonly called “pinging”). This approach works in most circumstances but (a) returns only a rough estimation of the duration of the page impression and (b) puts a huge load on the webserver that receives the data. The accuracy of the data gathered this way depends on the length of the time interval. The shorter the time interval the more accurate the data, but the higher the load on the server.        3) A more sophisticated approach is to send data to the webserver only when the user leaves the webpage. It is possible to tell the browser to execute certain operations when the webpage is “unloaded” from the browser. This approach worked very well for a long time since it returns accurate data and does only one additional request on the server. Lately there have been changes to the different available browsers that make this approach less reliable. Since it is not really intended that a webpage the user is just closing executes a lot of operations and sends data to a webserver and since executing this code hurts the performance of the browser (by delaying the opening of the next page) many browsers have put in limitations on what operations can be executed in the event of an “unload”. Due to these limitations there is a certain possibility that the webpage will not return any data when it is closed. The reliability of this approach is constantly decreasing in the ongoing development of the available browsers.        
Since method 3) will soon no longer be usable if data reliability and integrity is of any concern only the pinging solution according to method 2) will be available.